

#pragma once

#include "zAcValue.h"
#include "zDbDataLink.h"

class UcDbLinkedData : public UcDbObject
{
public:
    UCDB_DECLARE_MEMBERS(UcDbLinkedData);

    UCDB_PORT UcDbLinkedData(void);
    UCDB_PORT virtual ~UcDbLinkedData(void);

    UCDB_PORT virtual Ucad::ErrorStatus clear(void);
    UCDB_PORT virtual bool isEmpty          (void) const;

    UCDB_PORT virtual const ZTCHAR* name     (void) const;
    UCDB_PORT virtual Ucad::ErrorStatus setName(const ZTCHAR* pszName);
    UCDB_PORT virtual const ZTCHAR* description(void) const;
    UCDB_PORT virtual Ucad::ErrorStatus setDescription(const ZTCHAR* pszDescription);

    UCDB_PORT virtual Ucad::ErrorStatus dwgInFields(UcDbDwgFiler* pFiler);
    UCDB_PORT virtual Ucad::ErrorStatus dwgOutFields(UcDbDwgFiler* pFiler) const;
    UCDB_PORT virtual Ucad::ErrorStatus dxfInFields(UcDbDxfFiler* pFiler);
    UCDB_PORT virtual Ucad::ErrorStatus dxfOutFields(UcDbDxfFiler* pFiler) const;
};

typedef UcArray<UcDbLinkedData*> UcDbDataArray;
